package com.crm.customers.model;

import java.util.List;

import org.apache.commons.lang.builder.ReflectionToStringBuilder;

import com.crm.base.model.BaseModel;


public class Contract  extends BaseModel{
  

    
    /**
	 * 
	 */
	private static final long serialVersionUID = -6557275254811136861L;

	private Long pid;
 
    private Long cusid;//客户ID     
 
    private Long uid;//所属人 
 
    private Integer totalamount;// 合同总金额   
    
    private Integer alonemoney;//单合同金额
    
    private Integer totalmoney;//付款/收款总金额
    
    private Integer othermoney;//其它费用
 
    private Integer servicecharge;//服务费用           

    private Integer contracttype;//合同类型            
 
    private String signingtime;//签订时间         

    private Integer lifetype;//年限     
    
    private Integer state;//合同状态    0 作废  1 待回款   2 待付款    3  回款中   4 付款中  5  已完成回款   6  已完成付款   7 已上传合同  8 已完成     99 已完成回款的
 
    private Integer bill;//发票 0 未开  1 已开     
 
    private Integer type;//类别 0 个人 1企业  
 
    private Integer iscomplete;//回/付款完成  0  未开始  1 未完成   2已完成  
 
    private String remark;
    
    private String endtime;//合同到期时间
    
    private String zsremark="";//证书备注
    
    private List<Contract>  sublist;//人才证书合同
    
    private CustomerInfo customerInfo;//企业基本信息
    
    private List<ContractMoneylog> mlList;//回款记录
    
    private List<ContractFiles> fileList;//文件id
    
    private Integer approvemoney; //已通过审批的金额
    
    private Integer permoney; //业绩金额
    
    private Long deptid; //部门id
    
    private int isdel; //是否删除
    
    private int contractsize; //签约数量 用户判断是否续签
    
    private int delsign; //删除标记，用于标记是否允许被删除
    
    private Integer allpaymoney; //所有已付款金额
    
    private Integer advancemoney; //所有垫款金额
    
    private Integer isadditional=0;//是否为附加合同 比如 回扣  属于附加合同   0 非附加  1附加
    
    private List<Long> sondpidlist; //子部门id
    
    private Contract parentContract;//企业合同
    
    private int countsign; //企业或人才的回款，收款记录数
    
    
	public String getZsremark() {
		return zsremark;
	}


	public void setZsremark(String zsremark) {
		this.zsremark = zsremark;
	}


	public int getContractsize() {
		return contractsize;
	}


	public void setContractsize(int contractsize) {
		this.contractsize = contractsize;
	}


	public Contract getParentContract() {
		return parentContract;
	}


	public void setParentContract(Contract parentContract) {
		this.parentContract = parentContract;
	}


	public Integer getIsadditional() {
		return isadditional;
	}


	public void setIsadditional(Integer isadditional) {
		this.isadditional = isadditional;
	}


	public List<ContractMoneylog> getMlList() {
		return mlList;
	}


	public void setMlList(List<ContractMoneylog> mlList) {
		this.mlList = mlList;
	}


	public Integer getOthermoney() {
		return othermoney;
	}


	public void setOthermoney(Integer othermoney) {
		this.othermoney = othermoney;
	}


	@Override
	public String toString() {
		return ReflectionToStringBuilder.toString(this);
	}

	
	public Integer getTotalmoney() {
		return totalmoney;
	}


	public void setTotalmoney(Integer totalmoney) {
		this.totalmoney = totalmoney;
	}


	public CustomerInfo getCustomerInfo() {
		return customerInfo;
	}


	public void setCustomerInfo(CustomerInfo customerInfo) {
		this.customerInfo = customerInfo;
	}


	public String getEndtime() {
		return endtime;
	}


	public void setEndtime(String endtime) {
		this.endtime = endtime;
	}


	public List<Contract> getSublist() {
		return sublist;
	}


	public void setSublist(List<Contract> sublist) {
		this.sublist = sublist;
	}


	public Long getPid() {
		return pid;
	}

	public void setPid(Long pid) {
		this.pid = pid;
	}

	public Long getCusid() {
		return cusid;
	}

	public void setCusid(Long cusid) {
		this.cusid = cusid;
	}

	public Long getUid() {
		return uid;
	}

	public void setUid(Long uid) {
		this.uid = uid;
	}

	public Integer getTotalamount() {
		return totalamount;
	}

	public void setTotalamount(Integer totalamount) {
		this.totalamount = totalamount;
	}

	public Integer getServicecharge() {
		return servicecharge;
	}

	public void setServicecharge(Integer servicecharge) {
		this.servicecharge = servicecharge;
	}

	public Integer getContracttype() {
		return contracttype;
	}

	public void setContracttype(Integer contracttype) {
		this.contracttype = contracttype;
	}

	public String getSigningtime() {
		return signingtime;
	}

	public void setSigningtime(String signingtime) {
		this.signingtime = signingtime;
	}

	public Integer getLifetype() {
		return lifetype;
	}

	public void setLifetype(Integer lifetype) {
		this.lifetype = lifetype;
	}

	public Integer getState() {
		return state;
	}

	public void setState(Integer state) {
		this.state = state;
	}

	public Integer getBill() {
		return bill;
	}

	public void setBill(Integer bill) {
		this.bill = bill;
	}

	public Integer getType() {
		return type;
	}

	public void setType(Integer type) {
		this.type = type;
	}

	public Integer getIscomplete() {
		return iscomplete;
	}

	public void setIscomplete(Integer iscomplete) {
		this.iscomplete = iscomplete;
	}

	public String getRemark() {
		return remark;
	}

	public void setRemark(String remark) {
		this.remark = remark;
	}


	public List<ContractFiles> getFileList() {
		return fileList;
	}


	public void setFileList(List<ContractFiles> fileList) {
		this.fileList = fileList;
	}


	public Integer getApprovemoney() {
		return approvemoney;
	}


	public void setApprovemoney(Integer approvemoney) {
		this.approvemoney = approvemoney;
	}


	public Integer getPermoney() {
		return permoney;
	}


	public void setPermoney(Integer permoney) {
		this.permoney = permoney;
	}


	public Long getDeptid() {
		return deptid;
	}


	public void setDeptid(Long deptid) {
		this.deptid = deptid;
	}


	public int getIsdel() {
		return isdel;
	}


	public void setIsdel(int isdel) {
		this.isdel = isdel;
	}


	public int getDelsign() {
		return delsign;
	}


	public void setDelsign(int delsign) {
		this.delsign = delsign;
	}


	public Integer getAllpaymoney() {
		return allpaymoney;
	}


	public void setAllpaymoney(Integer allpaymoney) {
		this.allpaymoney = allpaymoney;
	}


	public Integer getAlonemoney() {
		return alonemoney;
	}


	public void setAlonemoney(Integer alonemoney) {
		this.alonemoney = alonemoney;
	}


	public Integer getAdvancemoney() {
		return advancemoney;
	}


	public void setAdvancemoney(Integer advancemoney) {
		this.advancemoney = advancemoney;
	}


	public List<Long> getSondpidlist() {
		return sondpidlist;
	}


	public void setSondpidlist(List<Long> sondpidlist) {
		this.sondpidlist = sondpidlist;
	}


	public int getCountsign() {
		return countsign;
	}


	public void setCountsign(int countsign) {
		this.countsign = countsign;
	}

}